# functional programming

# function definition------------------------------
def math(op, operator_a, operator_b):
    return op(operator_a, operator_b)

def add(a, b):
    return a + b

def sub(a, b):
    return a - b

def mult(a, b):
    return a * b

def div(a, b):
    return a / b

def mod(a, b):
    return a % b

def printToConsole(a, b):
    return "You passed an argument %s and %s" % (a, b)

# implementation -----------------------------------

print math(add, 2, 3)
print math(sub, 5, 3)
print math(mult, 10, 5)
print math(div, 21, 7)
print math(mod, 18, 4)
print math(printToConsole, 104, 220)
